package controller;

/**
 * This class stores the global configuration options for the program.
 * 
 * @author James Gunter - jpgunter
 */
public class Options {
  
  private int my_max_jobs = 30;
  private int my_max_weekly_jobs = 5;
  private int my_max_schedule_ahead_days = 90;
  private String my_data_file_path = "parksxml.txt";
  
  /**
   * Gets the maximum number of jobs allowed to be pending at any time.
   * @return The number of jobs.
   */
  public int getMaxJobs(){
    return my_max_jobs;
  }
  
  /**
   * Sets the maximum number of jobs allowed to be pending at any time.
   * @param the_max_jobs The number of jobs.
   * @return This object.
   */
  public Options setMaxJobs(int the_max_jobs){
    my_max_jobs = the_max_jobs;
    return this;
  }
  
  /**
   * Gets the maximum number of jobs allowed to be pending during a single week.
   * @return The number of jobs.
   */
  public int getMaxWeeklyJobs(){
    return my_max_weekly_jobs;
  }
  
  /**
   * Sets the maximum number of jobs allowed to be pending during a single week.
   * @param the_max_jobs The number of jobs.
   * @return This object.
   */
  public Options setMaxWeeklyJobs(int the_max_weekly_jobs){
    my_max_weekly_jobs = the_max_weekly_jobs;
    return this;
  }
  
  /**
   * Gets the maximum number of jobs allowed to be pending during a single week.
   * @return The number of jobs.
   */
  public int getMaxScheduleAheadDays(){
    return my_max_schedule_ahead_days;
  }
  
  /**
   * Sets the maximum number of jobs allowed to be pending during a single week.
   * @param the_max_jobs The number of jobs.
   * @return This object.
   */
  public Options setMaxScheduleAheadDays(int the_max_schedule_ahead_days){
    my_max_schedule_ahead_days = the_max_schedule_ahead_days;
    return this;
  }
  
  /**
   * Gets the path to the data file.
   * @return The path.
   */
  public String getDataFilePath(){
    return my_data_file_path;
  }
  
  /**
   * Sets the path to the data file.
   * @param the_data_file_path The path.
   * @return This object.
   */
  public Options setDataFilePath(String the_data_file_path){
    my_data_file_path = the_data_file_path;
    return this;
  }
  
}
